// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import API from './API'
import API_ATTENDANCE from './API_ATTENDANCE'
import { DATE, TYPE_WORK as TYPE, downParam } from '@admin/views/Maintain/Report/CONST'

const index = 0

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 循环开关
   */
  loop: false,

  /**
   * 接口
   */
  API: {
    ...API,
    ...API_ATTENDANCE,
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 日期
     */
    DATE,

    /**
     * 类型
     */
    TYPE,
  },

  /**
   * 初始参数
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setParam() 重置时使用
   * 3. WebSearch 高级查询点重置时使用
   */
  INIT_PARAM: {
    pageSize: CORE.MAP.PAGE_SIZE_SELECT,

    hasType: true, // 是否显示类型
    type: TYPE[index][0], // 类型 ID
    dateType: undefined, // 日期类型 ID
    startTime: CORE.timeNum(CORE.today()), // 今天 00:00:00
    endTime: CORE.timeNum(CORE.today(1), -1), // 今天 23:59:59
  },

  /**
   * 初始信息
   *
   * 1. 初始存在，才能响应
   * 2. setInfo() 合并时使用
   */
  INIT_INFO: {
    /**
     * 工单
     */
    [TYPE[0][2]]: {
      all: {
        xData: [],
        dataList: [],
        title: '工单总数',
      },
      complete: {
        xData: [],
        dataList: [],
        title: '工单完成情况',
      },
      person: {
        '': {
          xData: [],
          dataList: [],
          title: '个人完成情况',
        },
      },
      table: [],
      [CORE.MAP.PAGE_SORT]: CORE.MAP.PAGE_SORT_LIST,
    },

    /**
     * 巡检
     */
    [TYPE[1][2]]: {
      all: {
        xData: [],
        dataList: [],
        title: '巡检任务总数',
      },
      complete: {
        xData: [],
        nameList: ['总数', '未完成', '按时完成'],
        arrayList: [[], [], []],
      },
      person: {
        '': {
          xData: [],
          dataList: [],
          title: '个人任务总数',
        },
      },
      table: [],
      [CORE.MAP.PAGE_SORT]: CORE.MAP.PAGE_SORT_LIST,
    },

    /**
     * 保养
     */
    [TYPE[2][2]]: {
      all: {
        xData: [],
        dataList: [],
        title: '保养任务总数',
      },
      complete: {
        xData: [],
        nameList: ['总数', '未完成', '按时完成'],
        arrayList: [[], [], []],
      },
      table: [],
      [CORE.MAP.PAGE_SORT]: CORE.MAP.PAGE_SORT_LIST,
    },

    /**
     * 告警
     */
    [TYPE[3][2]]: {
      all: {
        xData: [],
        dataList: [],
        title: `${CORE.MAP.ALARM}总数`,
      },
      complete: {
        xData: [],
        nameList: ['平均处理时长', '最长处理时长', '最短处理时长'],
        arrayList: [[], [], []],
      },
      table: [],
      [CORE.MAP.PAGE_SORT]: CORE.MAP.PAGE_SORT_LIST,
    },

    /**
     * 考勤
     */
    [TYPE[4][2]]: {
      table: [],
      [CORE.MAP.PAGE_SORT]: CORE.MAP.PAGE_SORT_LIST,
    },
  },

  // —————————————————————————————— 下载状态 —————————————————————————————— //

  /**
   * 下载参数
   */
  downParam,
}
